package BookManagement;

import BookManagement.book.Bookshelf;
import BookManagement.user.Administrator;
import BookManagement.user.PersonnelManagement;
import BookManagement.user.User;

import java.util.Scanner;

public class Main {

    public static User login(){
        System.out.println("*******************************************************");
        System.out.println("****************   欢迎来到图书管理系统   ****************");
        System.out.println("*******************************************************");
        String account = "";
        String password = "";
        String sole = "";
        while(true){
            System.out.println("请输入账号和密码以及：");
            Scanner scan = new Scanner(System.in);
            account = scan.nextLine();
            password = scan.nextLine();
            System.out.println("请输入你的角色：");
            sole = scan.nextLine();
            //根据和存储的人员管理数据进行对比
            //根据角色查找
            PersonnelManagement personnelManagement = new PersonnelManagement();
            if(sole.equals("管理人员")){
                //为真，则就是管理人员
                for(User user:personnelManagement.administrators){
                    if(account.equals(user.getAccount()) && password.equals(user.getPassword())) {
                        //说明登录成功：
                        System.out.println(user.getName() + "登录成功！");
                        return user;
                    }
                }
                System.out.println("账号或密码错误！请重新登录……");
            }
            else if(sole.equals("普通人员")){
                //说明是普通用户
                for(User user:personnelManagement.normalUsers){
                    if(account.equals(user.getAccount()) && password.equals(user.getPassword())) {
                        System.out.println(user.getName() + "登录成功！");
                        return user;
                    }
                }
                System.out.println("账号或密码错误！请重新登录……");
            }
            else {
                System.out.println("角色验证有误！");
            }
        }
    }

    public static void main(String[] args) {
        Bookshelf bookshelf = new Bookshelf();
        //先登录：根据不同角色进入不同界面
        User user=login();

        //下买操作的人员可能是管理人员、普通用户：由于操作的业务不一样，因此需要区分是哪种角色进入的，因此把对应的操作用一个接口进行管理，然后创建该接口的数组，里面根据不同的角色存储不同的业务操作
        while(true){
            int choice=user.menu();
            user.doOperation(choice,bookshelf);
        }

    }
}
